Periodic motion-based visual stimulus

ABSTRACT

A computer device is provided that includes a display device, and a sensor system configured to be mounted adjacent to a user&#39;s head and to measure an electrical potential near one or more electrodes of the sensor system. The computer device further includes a processor configured to present a periodic motion-based visual stimulus having a changing motion that is frequency-modulated for a target frequency or code-modulated for a target code, detect changes in the electrical potential via the one or more electrodes, identify a corresponding visual evoked potential feature in the detected changes in electrical potential that corresponds to the periodic motion-based visual stimulus, and recognize a user input to the computing device based on identifying the corresponding visual evoked potential feature.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/780,173, filed Feb. 3, 2020, the entirety of which is herebyincorporated herein by reference for all purposes.

BACKGROUND

Brain-Computer Interfaces may be used to transform brain activity intocomputer input. One of the fastest BCI paradigms to detect and extractbrain signals is Steady-State Visual Evoked Potentials (SSVEP). Thesetypes of BCI rely on the neurophysiological property that when anindividual focuses on a periodic visual stimulus, the power of the brainactivity at the same frequency increases as the strength of the stimulusincreases.

SUMMARY

A computer device is provided. The computer device may comprise adisplay device, and a sensor system configured to be mounted adjacent toa user's head and to measure an electrical potential near one or moreelectrodes of the sensor system. The computer device may further includea processor configured to present a periodic motion-based visualstimulus having a changing motion that is frequency-modulated for atarget frequency or code-modulated for a target code, detect changes inthe electrical potential via the one or more electrodes, identify acorresponding visual evoked potential feature in the detected changes inelectrical potential that corresponds to the periodic motion-basedvisual stimulus, and recognize a user input to the computing devicebased on identifying the corresponding visual evoked potential feature.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Furthermore,the claimed subject matter is not limited to implementations that solveany or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example computer device that implements a periodicmotion-based visual stimulus for visual evoked potential (VEP)interfaces according to one embodiment of the present disclosure.

FIG. 2A shows an example head mounted display device and sensor systemfor the computer device of FIG. 1 .

FIG. 2B shows an example sensor system integrated into a wearable itemfor the computer device of FIG. 1 .

FIG. 3 shows a flowchart for an example method of implementing periodicmotion-based visual stimulus for VEP interfaces implemented by thecomputer device of FIG. 1 .

FIG. 4 shows a graph of a frequency domain of electrical activity of auser's brain captured by a sensor system of the computer device of FIG.1 .

FIG. 5 shows an example periodic motion-based visual stimulus displayedby the computer device of FIG. 1 .

FIG. 6 shows another example periodic motion-based visual stimulusdisplayed by the computer device of FIG. 1 .

FIG. 7 shows another example periodic motion-based visual stimulusdisplayed by the computer device of FIG. 1 .

FIG. 8 shows a flowchart for an example method of determining a userattended periodic motion-based visual stimulus implanted by the computerdevice of FIG. 1 .

FIG. 9 shows an example GUI that implements the periodic motion-basedvisual stimulus that is displayed by the computer device of FIG. 1 .

FIG. 10 shows a graph of a frequency domain of electrical activity of auser's brain captured by a sensor system of the computer device of FIG.9 .

FIG. 11 shows a periodic motion-based visual stimulus developmentlibrary implemented by the computer device of FIG. 1 .

FIG. 12 shows a schematic view of an example computing environment inwhich the computer device of FIG. 1 may be enacted.

DETAILED DESCRIPTION

Typical VEP interfaces, such as Steady State Visual Evoked Potentialinterfaces, are often fatigue-inducing and rely on overlaying blinkingobjects on the interface that may cause visual fatigue and annoyance forviewers of the blinking stimuli. To address this issue, FIG. 1illustrates an example computer device 10 that implements a periodicmotion-based visual stimulus for VEP interfaces that reduces visualfatigue and increases the user-friendliness of VEP interfaces whilepreserving classification accuracy. The computer device 10 includes aprocessor 12, storage devices 14, an input device 16, a display device18, a sensor system 20, and other suitable computer componentsconfigured to implement the techniques and processes described herein.In one example, the computer device 10 may take the form of a desktopcomputer device, a laptop computer device, or another suitable type ofcomputer device. In this example, the display device 18 may take theform of a display monitor, a large format display, a projector, adisplay integrated in a mobile device, etc. The storage devices 14 mayinclude volatile and non-volatile storage devices configured to storeinstructions to be executed by the processor 12. The input devices 16may include one or more input devices, such as, for example, a keyboard,a mouse, one or more camera devices, a microphone, etc.

The sensor system 20 of the computer device 10 is configured to bemounted adjacent to the user's head and to measure an electricalpotential near one or more electrodes 22 of the sensor system 20. Forexample, the sensor system 20 may take the form of anelectroencephalography (EEG) device configured to capture an EEG signal24 that measures voltage fluctuations near the electrodes 22 that mayresult from neuronal activity of the user's brain. The sensor system 20may be configured to measure event-related potentials for potentialfluctuations time locked to presentation of a periodic motion-basedvisual stimulus, as will be discussed in more detail below.

In another example, the computer device 10 may take the form of a headmounted display (HMD) device. FIG. 2A shows an example of the computerdevice 10 in the form of an HMD device 26. The HMD device 26 may be wornby a user according to an example of the present disclosure. In otherexamples, an HMD device may take other suitable forms in which an atleast partially see-through display is supported in front of a viewer'seye or eyes in an augmented reality HMD device configuration.

In the example of FIG. 2A, the HMD device 26 includes a frame 28 thatwraps around the head of the user to position the display device 18,which takes the form of a near-eye display in this example, close to theuser's eyes. The frame supports additional components of the HMD device26, such as, for example, the processor 12, input devices 16 that mayinclude one or more outward facing cameras 30 and/or one or more inwardfacing cameras 32. The processor 12 includes logic and associatedcomputer memory configured to provide image signals to the displaydevice 18, to receive sensory signals from outward facing cameras 30,inward facing cameras 32, other types of input devices 16, and to enactvarious control processes described herein.

Any suitable display technology and configuration may be used to displayimages via the display device 18. For example, in a non-augmentedreality configuration, the display device 18 may be a non-see-throughLight-Emitting Diode (LED) display, a Liquid Crystal Display (LCD), orany other suitable type of non-see-through display. In an augmentedreality configuration, the display device 18 may be configured to enablea wearer of the HMD device 26 to view a physical, real-world object inthe physical environment through one or more partially transparentpixels displaying virtual object representations. For example, thedisplay device 18 may include image-producing elements such as, forexample, a see-through Organic Light-Emitting Diode (OLED) display.

As another example, the HMD device 26 may include a light modulator onan edge of the display device 18. In this example, the display device 18may serve as a light guide for delivering light from the light modulatorto the eyes of a wearer. In other examples, the display device 18 mayutilize a liquid crystal on silicon (LCOS) display.

The input devices 14 may include various sensors and related systems toprovide information to the processor 12. Such sensors may include aninertial measurement unit (IMU) 34. The one or more inward facing cameradevices 32 may be configured to acquire image data in the form of gazetracking data and/or pupil dilation data from a wearer's eyes.

The one or more outward facing camera devices 30 may be configured tocapture and/or measure physical environment attributes of the physicalenvironment in which the HMD device 26 is located. In one example, theone or more outward facing camera devices 30 may include a visible-lightcamera or RBG camera configured to collect a visible-light image of aphysical space. Further, the one or more outward facing camera devices30 may include a depth camera configured to collect a depth image of aphysical space. More particularly, in one example the depth camera is aninfrared time-of-flight depth camera. In another example, the depthcamera is an infrared structured light depth camera.

Data from the outward facing camera devices 30 may be used by theprocessor 12 to generate and/or update a three-dimensional (3D) model ofthe physical environment. Data from the outward facing camera devices 30may be used by the processor 12 to identify surfaces of the physicalenvironment and/or measure one or more surface parameters of thephysical environment. In augmented reality configurations of HMD device26, the position and/or orientation of the HMD device 26 relative to thephysical environment may be assessed so that augmented-reality imagesmay be accurately displayed in desired real-world locations with desiredorientations.

In both augmented reality and non-augmented reality configurations ofHMD device 26, the IMU 34 of HMD device 26 may be configured to provideposition and/or orientation data of the HMD device 26 to the processor12. In one implementation, the IMU 34 may be configured as a three-axisor three-degree of freedom (3DOF) position sensor system. This exampleposition sensor system may, for example, include three gyroscopes toindicate or measure a change in orientation of the HMD device 26 within3D space about three orthogonal axes (e.g., roll, pitch, and yaw). Inanother example, the IMU 34 may be configured as a six-axis orsix-degree of freedom (6DOF) position sensor system. Such aconfiguration may include three accelerometers and three gyroscopes toindicate or measure a change in location of the HMD device 26 alongthree orthogonal spatial axes (e.g., x, y, and z) and a change in deviceorientation about three orthogonal rotation axes (e.g., yaw, pitch, androll). The orientation derived from the sensor signals of the IMU may beused to display, via the display device 18, one or more holographicimages with a realistic and stable position and orientation. In someimplementations, position and orientation data from the outward facingcamera devices 30 and the IMU 34 may be used in conjunction to determinea position and orientation (or 6DOF pose) of the HMD device 26.

In some examples, a 6DOF position sensor system may be used to displayholographic representations in a world-locked manner. A world-lockedholographic representation appears to be fixed relative to one or morereal world objects viewable through the HMD device 26, thereby enablinga wearer of the HMD device 26 to move around a real world physicalenvironment while perceiving a world-locked hologram as remainingstationary in a fixed location and orientation relative to the one ormore real world objects in the physical environment.

In one example, the sensor system 20 may be integrated with the HMDdevice 26. For example, a portion of the frame 28 located near a back ofa wearer's head may include one or more electrodes 22 of the sensorsystem 20. In this manner, the electrodes of the sensor system 20 may bemounted adjacent a user's head when the user is wearing the HMD device26. In another example, the sensor system 20 may be mounted to the frame28 and extend outward from the frame 28 such that one or more electrodes22 of the sensor system 24 are positioned adjacent to the user's head.

However, it should be appreciated that other mounting configurations maybe used to position the sensor system 20 adjacent to the user's head.FIG. 2B illustrates an example sensor system 20 that is integrated intoa wearable item 38. When worn, one or more electrodes 22 may bepositioned in contact with or near the wearer's scalp. In the exampleillustrated in FIG. 2B, a plurality of electrodes 22 are mounted toencompass a user's head. However, in another example, the plurality ofelectrodes 22 may all be mounted adjacent to a back of the user's headnear a visual cortex of the user's brain. However, it should beappreciated that other mounting schemes may be used to position one ormore electrodes 22 adjacent to the user's head.

The one or more electrodes 22 may be configured to measure an electricalpotential resulting from neuronal activity of the user's brain near theelectrodes 22. In one example, EEG signals 24 from the one or moreelectrodes 22 may be gathered by a signal processing device 40 of thesensor system 20. The signal processing device 40 may be configured tocommunicate the EEG signals 24 to the processor 12 of the computerdevice 10. The signal processing device 40 may send the data for the EEGsignals 24 to the processor 12 using wireless or wired communicationtechniques. In one example, the signal processing device 40 may beconfigured to perform signal processing techniques on the EEG signals 24described herein. In another example, the signal processing device 40may be configured to send data for the EEG signals 24 without performingthose signal processing techniques.

The wearable item 38 integrated with the sensor system 20 may be worn inaddition to the HMD device 26 by a user. In non-HMD device examples ofthe computer device 10, the wearable item 38 may be worn individually bythe user. In either example, the EEG signals 24 from the sensor system20 worn by the user may be communicated to the processor 12 of thecomputer device 10.

Turning briefly to FIG. 3 , the processor 12 of the computer device 10may be configured to implement a method 300 for implementing a periodicmotion-based visual stimulus for VEP interfaces that reduces visualfatigue and increases the user-friendliness of VEP interfaces whilepreserving classification accuracy. At step 302, the method 300 mayinclude presenting a periodic motion-based visual stimulus 42 having achanging motion that is frequency-modulated for a target frequency 44 orcode-modulated for a target code 36 via the display device 18. Severalexample periodic motion-based visual stimuli 42 are illustrated in FIGS.5-7 and described in more detail below.

In one example, the periodic motion-based visual stimulus 42 may beconfigured to be frequency-modulated such that a changing motion of thestimulus moves at target frequency 44. The target frequency 44 may, forexample, include a fundamental frequency of the change in periodicmotion of the visual stimulus 42. The target frequency 44 may, forexample, be in the range of 6 Hz to 30 Hz, such as 8 Hz, 10 Hz, 12 Hz,etc. However, it should be appreciated that the target frequency 44 maybe set to other values and ranges of frequencies that are suitable forproducing an SSVEP. As shown in FIG. 1 , the periodic motion-basedvisual stimulus 42 is sent to the display device 18 for presentation tothe user.

In another example, the periodic motion-based visual stimulus 42 may beconfigured to be code-modulated such that the changing motion of thestimulus moves according to a target code 36. As a specific example, theprocessor 12 may be configured to use a pseudorandom code, such as anm-sequence, with a low auto-correlation which may be shifted fordifferent target codes 36. However, it should be appreciated that othertypes of techniques may be used to code-modulate the periodicmotion-based visual stimulus 42.

As described herein, the periodic motion-based visual stimulus 42 thatmay be frequency-modulated or code-modulated may cause a predictable VEPin a viewer's brain that may be detected via the one or more electrodesof the sensor system 20. However, it should be appreciated that theperiodic motion-based visual stimulus 42 is not limited to only theexample frequency-modulation and code-modulation techniques describedherein, and may implement other types of VEP techniques.

Returning to FIG. 3 , at step 304, the method 300 may include detectingchanges in the electrical potential 46 via the one or more electrodes22. While the periodic motion-based visual stimulus 42 is beingpresented via the display device 18, the sensor system 20 may beconfigured to detect changes in electrical potential 46 via theelectrodes 22. As discussed above, these detected changes in electricalpotential 46 reflect neuronal activity of the user's brain detectedthrough the skull/scalp of the user via the adjacently mounted sensorsystem 20. For example, the user may be wearing the wearable item 38that integrates the sensor system 20 illustrated in FIG. 2B. Thecaptured data for the changes in electrical potential 46 may be sent tothe processor 12 of the computer device 10 as the EEG signal 24 shown inFIG. 1 .

Continuing with FIG. 3 , at step 306, the method 300 may includeidentifying a corresponding visual evoked potential feature 45 in thedetected changes in electrical potential 46 that corresponds to theperiodic motion-based visual stimulus 42. In one example, the periodicmotion-based visual stimulus 42 may be frequency-modulated to change ata target frequency 44. To identify the corresponding visual evokedpotential feature 45, the EEG signal processing module 52 may beconfigured to identify a peak 48 in a frequency domain of the detectedchanges in electrical potential 46 at a corresponding frequency 50 thatcorresponds to the target frequency 44 of the periodic motion-basedvisual stimulus 42. As illustrated in FIG. 1 , the EEG signal 24received from the sensor system 20 may be processed by an EEG signalprocessing module 52 executed by the processor 12.

Typically, when the human eye is excited by a visual stimulus, such as,for example, the periodic motion-based visual stimulus 42, the brain maygenerate electrical activity at a same frequency or multiple of thefrequency of the visual stimulus. That brain activity may be detected bythe sensor system 20 and reflected in the EEG signal 24 captured by thesensor system 20. In this manner, when the user views the presentedperiodic motion-based visual stimulus 42, a corresponding VEP may bereflected in the electrical activity of the user's brain that may beobserved in the oscillatory components (e.g. frequency domain) of theEEG signal 24 captured by the sensor system. In the frequency domain ofthe EEG signal 24, the target frequency 44 of the periodic motion-basedvisual stimulus 42 and higher harmonics may be recognized by the EEGsignal processing module 52.

In one example, the EEG signal processing module 52 may be configured toperform several processing steps on the data of the EEG signal 24. As aspecific example, the EEG signal processing module 52 may perform apreprocessing step in order to remove or dampen the effects of noise andartifacts in the EEG signal. The EEG signal processing module 52 may befurther configured to perform feature recognition to identify one ormore peaks in the frequency domain of the EEG signal 24 that are likelyto be associated with an SSVEP rather than a noise or artifact in theEEG signal 24. The EEG signal processing module 52 may then beconfigured to determine whether a frequency associated with identifiedpeak in the EEG signal 24 corresponds to a target frequency 44 of aperiodic motion-based visual stimulus 42 being presented via the displaydevice 18. For example, the EEG signal processing module 52 may beconfigured to identify peaks 48 at corresponding frequencies 50 thatcorrespond to the fundamental frequency and upper harmonic frequenciesof the periodic motion-based visual stimulus 42.

In one example, the periodic motion-based visual stimulus 42 may providea visual stimulus that only has a fundamental frequency and does nothave any upper harmonic frequencies. Nonetheless, due to non-linearitiesof the brain including the eye structure and visual cortex, theelectrical activity of the user's brain may include SSVEPs at both thefundamental frequency of the visual stimulus as well as upper harmonicsthat are multiples of the fundamental frequency. The EEG signalprocessing module 52 may be configured to identify the peaks associatedwith each of those frequencies, and correlate those peaks to the targetfrequency 44 of the periodic motion-based visual stimulus 42.

In another example, the periodic motion-based visual stimulus 42 mayinclude more complex motions that have both a fundamental frequency andupper harmonic frequencies. In a similar manner, the EEG signalprocessing module 42 may be configured to identify the peaks associatedwith each of those frequencies, and correlate those peaks to the targetfrequency 44 of the periodic motion-based visual stimulus 42. These morecomplex motions that include both a fundamental frequency and upperharmonics may potentially provide an improved classification accuracy ofthe EEG signal processing module 52 for correlating peaks 48 in the EEGsignal 24 to specific periodic motion-based visual stimuli 42.

As discussed above, the periodic motion-based visual stimulus 42 mayalternatively be code-modulated using a pseudorandom code with a lowauto-correlation which is shifted for the different target codes 36. Toidentify the corresponding VEP feature 45, the EEG signal processingmodule 52 may be configured to identify a corresponding code 47 in thedetected changes in electrical potential 46 that corresponds to thetarget code 36 of the periodic motion-based visual stimulus 42.

As another example, the EEG signal processing module 52 may beconfigured to identify a VEP pattern 49 as the corresponding VEP feature45. For example, the EEG signal processing module 45 may be calibratedfor a user during a calibration phase where periodic motion-based visualstimuli 42 at different target frequencies and/or codes are presented toa user that is instructed to view the stimuli. Then, a resulting EEGsignal 24 for the user may be stored as VEP patterns 49 and associatedwith the presented periodic motion-based visual stimulus 42. Noisesuppression and feature extraction techniques may be used to processthese stored VEP patterns 49. Next, during run-time, a current EEGsignal 24 may be detected and compared to the stored VEP patterns 49,which may include a spectrum of different VEP features, to identify thecorresponding VEP feature 45 that corresponds to the periodicmotion-based visual stimulus 42 being displayed via the display device18. It should be appreciated the EEG signal processing module 52 may useother types of VEP feature identification techniques not specificallydescribed herein.

Returning to FIG. 3 , at step 308, the method 300 may includerecognizing a user input 54 to the computing device 10 based onidentifying the corresponding visual evoked potential feature 45. In theexample of FIG. 1 , the recognition of the user input 54 may be includedin a gaze detection process executed by the processor 12. For example,the processor 12 may be further configured to execute a user inputmodule 56 that determines where a user is looking and recognizes userinputs based on a gaze direction of the user. For example, the userinput module 56 may determine whether the user is gazing at a particularvirtual object being presented by the display device 18, and mayrecognize the user's gaze as a user input, such as a selection input, tothat particular virtual object. In an augmented reality configurationwhere a real-world object/environment may be viewable behind thedisplayed virtual objects, it may be difficult for typical HMD devicesto determine whether the user is focusing their attention on the virtualobject or the real-world environment behind the virtual object. As willbe discussed in more detail below, including a periodic motion-basedvisual stimulus 42 with these virtual objects may allow the HMD deviceto determine whether or not the user is attending to that virtualobject. In this manner, the VEP techniques described herein may becombined with typical user gaze 58 and/or user pupil dilation 60techniques to provide an improved accuracy in identifying what the useris intending to view.

In one example, the recognized user input 54 may be used by the computerdevice 10 as input to a graphical user interface 62. In the exampleillustrated in FIG. 1 , the processor 12 may be further configured toexecute an application program 64 that includes the GUI 62. The GUI 62may include various GUI elements 66 that include visuals presented viathe display device 18. One or more of those GUI elements 66 may beassociated with respective periodic motion-based visual stimuli 42having differentiated target frequencies 44 or target codes 36 based onwhether the periodic motion-based visual stimuli 42 arefrequency-modulated or code-modulated. Based on identifying thecorresponding VEP feature 45 in the EEG signal 24, the processor 12 maybe configured to recognize a user input directed to the associated GUIelement 66. For example, the user input may be recognized as a userselection of that GUI element 66. The user input 54 may be sent to theapplication program 64, which may then perform a GUI actions based onthat user input 54. It should be appreciated that any suitable userinput related actions may be performed by the application program 64 inresponse to the user input 54.

FIG. 4 shows graph of a frequency domain of an example EEG signal 24 fora user viewing a periodic motion-based visual stimulus 42 having atarget frequency 44 of 12 Hz. While the user attends to the periodicmotion-based visual stimulus 42 being presented via the display device18, the sensor system 20 captures an EEG signal 24 that includes datafor the changes in electrical potential 46 detected by the electrodes 22of the sensor system 20. The EEG signal processing module 52 processesthe EEG signal 24, and identifies one or more peaks in the frequencydomain of the EEG signal 24, such as, for example, the peak 48illustrated in FIG. 4 . The EEG signal processing module 52 may thencompare a frequency of the signal at the peak 48, which is 12 Hz in theillustrated example, to the target frequencies 44 of each displayedperiodic motion-based visual stimulus 42. In this example, the EEGsignal processing module 52 may determine that the frequency of the peak48 corresponds to the target frequency 44 of the currently displayedperiodic motion-based visual stimulus 42. Based on this determination,the processor 12 of the computer device 10 may then recognize a userinput 54, and may perform a process based on that user input 54 such as,for example, causing a selection of a GUI element 66 associated withthat periodic motion-based visual stimulus.

A similar process may be performed when identifying corresponding codes47 in the EEG signal 24. For example, the EEG signal processing module52 may process the EEG signal 24 to identify peaks at differentfrequencies over a time-domain of the EEG signal 24, and may identifythe corresponding code 47 based on the changing VEPs. However, it shouldbe appreciated that other techniques and processes may be utilized bythe EEG signal processing module 52 to identify the corresponding code47.

FIG. 5 illustrates an example type of periodic motion-based visualstimulus 42. The example periodic motion-based visual stimulus 42 is ananimation of a winged creature, which in this case is a hummingbird,flapping its wings. For a frequency-modulated stimulus, the animation ofthe winged creature may flap its wings at a target frequency 44. For acode-modulated stimulus, the animation of the winged creature may flapits wings according to, for example, a pseudorandom code with a lowauto-correlation which is shifted for different target codes 36. It willbe appreciated that winged creatures other than hummingbirds mayalternatively be depicted, and in addition motions of other portions ofcreatures that are periodic in nature may be used, as winged creaturesare simply one example implementation. In this example, the motion ofthe wings of the hummingbird includes a periodic motion 68 in the formof a rotational motion that moves in an arc around a fixed point wherethe wings attach to the hummingbird. The periodic motion 68 of the wingsmay be frequency-modulated to be set to a target frequency, such as, forexample, 12 Hz. In this example, the target frequency may be defined asthe number of complete wing flap motions per second. Thus, if the wingsof the animated hummingbird flap 12 times per second, then the periodicmotion-based visual stimulus 42 of FIG. 5 may have a target frequency 42having a fundamental frequency of 12 Hz. Alternatively, the periodicmotion 68 of the wings may be code-modulated for a target code 36.

However, it should be appreciated that the periodic motion 68 of abird's wing flap is a complex motion and may include other upperharmonic frequencies. Thus, when viewed by a user, the periodicmotion-based visual stimulus 42 of the hummingbird's wings may bereflected in the visual cortex of the user as electrical activity havingmultiple peaks at different frequencies including the fundamentalfrequency and upper harmonic frequencies. Each of these peaks and thecorresponding frequencies may be used by the EEG signal processingmodule 52 to classify the EEG signal as including electrical activitythat reflects the user viewing the periodic motion-based visual stimulus42. In this manner, the processor 12 may to recognize the user input 54based on identifying peaks 48 at corresponding frequencies 50 thatcorrespond to the fundamental frequency and upper harmonic frequenciesof the periodic motion-based visual stimulus 42.

In one example, the periodic motion-based visual stimulus 42 may takethe form of a rapid serial visual presentation of images. For example,the periodic motion-based visual stimulus 42 may include a plurality oftwo or three-dimensional images that are sequentially displayed toachieve a target frequency 44 or target code 36. In the exampleillustrated in FIG. 5 , a plurality of images for different positions ofthe hummingbird's wings may be sequentially presented to the user viathe display device 18 in a rapid serial visual presentation.Presentation of the images may be slowed or sped up to achieve asuitable target frequency 44 or target code 36 for the periodic motion68 of the hummingbird's wings.

In another example, the periodic motion-based visual stimulus 42 maytake the form of an animated three-dimensional virtual object presentedby the display device 18. In HMD device 26 forms of the computer device10, the animated three-dimensional virtual object may be presented viathe near-eye display device of the HMD device 26. In an augmentedreality HMD device 26 example, the animated three-dimensional virtualobject may take the form of a virtual hologram that is presented via anat least partially see-through display device of the HMD device 26.

As discussed above, the HMD device 26 may use various sensor devicessuch as the IMU 34 and outward facing camera devices 30 to orient theHMD device 26 in the physical space of the real-world and display thevirtual hologram at a position in the real-world environment via the atleast particularly see-through display. In one example, the virtualhologram may be displayed at a world-locked position such that thehologram appears to be located at the same position as the user movesaround the real-world. In another example, the hologram may be displayedat a position locked to a view of the HMD device 26, such as, forexample, in a heads-up display GUI configuration. In these examples,animation of the virtual object/hologram may be slowed down or sped upto achieve the target frequency 44 or target code 36 for the periodicmotion-based visual stimulus 42.

FIG. 6 shows an example periodic motion-based visual stimulus 42 in theform of a windmill animation. As illustrated, the periodic motion-basedvisual stimulus 42 includes a periodic motion 68 in the form of arotational motion of the windmill arms that rotate around a fixed point.The target frequency 44 of the windmill periodic motion-based visualstimulus may be based on the number of rotations of the windmill armsper second. Thus, the target frequency 44 may be increased or decreasedby changing a speed of rotation of the windmill arms. Similarly, thewindmill periodic motion-based visual stimulus may be code-modulatedsuch that the speed of rotation of the windmill arms changes accordingto the target code 36. Alternatively, other structures or machines thatfeature components that exhibit periodic motion-based visual effects maybe used.

FIG. 7 shows an example periodic motion-based visual stimulus 42 in theform of a grating pattern that includes moving bars. The movements ofthe changing grating pattern may form the periodic motion 68. The targetfrequency 44 of the changing grating pattern periodic motion-basedvisual stimulus may be based on the number of bars of the gratingpattern that pass a particular location per second. Thus, the targetfrequency 44 may be increased or decreased by changing a speed of motionof the bars of the changing grating pattern. Although the exampleillustrated in FIG. 7 shows a horizontally changing pattern, it shouldbe appreciated that the periodic motion-based visual stimulus 42 maytake the form of a vertically changing grating pattern, a rotationallychanging grating pattern etc.

Additionally, it should be appreciated that the periodic motion-basedvisual stimulus 42 is not limited to the examples illustrated in FIGS.5-7 . As another example, the periodic motion-based visual stimulus 42may include a periodic motion in the form of an oscillation motion. Forexample, a pendulum that swings at a target frequency, a person that isjump roping at a target frequency, a string vibrating at a targetfrequency, etc. Further, it should be appreciated that other types ofperiodic motion 68 not specifically described herein may be utilized bythe periodic motion-based visual stimulus 42.

FIG. 8 shows a flowchart for a method 800 for determine which periodicmotion-based stimulus from among a plurality of stimuli is beingattended to be a user. The method 800 may be implemented by the computerdevice 10 described herein. At step 802, the method 800 may includepresenting a plurality of periodic motion-based visual stimuli 42 havingdifferent target frequencies 44 or target codes 36, each periodicmotion-based visual stimulus 42 being associated with respectiveinterface elements of a plurality of interface elements 66. For example,the GUI 62 of an application program 64 may include a plurality of GUIelements 66 that are selectable by the user. The GUI 62 may furtherinclude a plurality of periodic motion-based visual stimuli that areassociated with respective GUI elements 66.

FIG. 9 illustrates an example GUI 62 for an application program 64taking the form of a game library application. The GUI 62 is displayedvia a display device of the HMD device 26. The user 70 is wearing theHMD device 26 and the sensor system 20. While the GUI 62 is displayed tothe user 70, electrodes 22 of the sensor system 20 will captured EEGsignal 24 and send that data to the HMD device 26, as described above.The HMD device 26 may then recognize user inputs to the GUI 62 using thesteps of method 300. As illustrated in FIG. 9 , the HMD device 26 mayfurther be configured to present a plurality of GUI elements 66,including a previous game GUI element 72, a next game GUI element 74,and a start game GUI element 76.

The HMD device 26 may further present a plurality of periodicmotion-based visual stimuli 42 having different target frequencies 44 ortarget codes 36. For example, the GUI 62 may include a first periodicmotion-based visual stimulus 78 associated with the previous game GUIelement 72, a second periodic motion-based visual stimulus 80 associatedwith the next game GUI element 74, and a third periodic motion-basedvisual stimulus 82 associated with the start game GUI element 76. Eachperiodic motion-based visual stimulus may be set to have a differenttarget frequency or target code. In the illustrated example, theplurality of periodic motion-based visual stimuli arefrequency-modulated, and includes a first periodic motion-based visualstimulus 78 having a target frequency of 12 Hz, the second periodicmotion-based visual stimulus 80 has a target frequency of 20 Hz, and thethird periodic motion-based visual stimulus 82 has a target frequency of15 Hz.

While the user 70 is viewing the GUI 62, the EEG signal 24 data isprocessed by the EEG signal processing module 52, which identifies peaksin the frequency domain of the EEG signal according to the techniquesdescribed above. However, in the example illustrated in FIG. 9 , allthree periodic motion-based visual stimuli may be within view of theuser concurrently. Thus, the frequency domain of the EEG signal 24 maypotentially include three peaks, one at 12 Hz, one at 15 Hz, and one at20 Hz in this example. Further, it should be appreciated that peaks atmultiples of these frequencies may also occur for upper harmonicfrequencies. It should be appreciated that the set of target frequenciesincluding 12 Hz, 15 Hz, and 20 Hz are merely exemplary, and that thetarget frequencies may include other suitable values. For example,selecting target frequencies that are even periods of a frame refreshrate for the display 18 may provide the potential benefit of reducingvisual flickering that may occur during presentation of the stimulus.

The computer device 10 may be configured to implement method 800 toidentify which periodic motion-based visual stimulus is being attendedto by the user. At step 804, the method 800 may include determining thatthe user is attending to the periodic motion-based visual stimulus 42based on a magnitude of the corresponding VEP feature 45 identified inthe detected changes in electrical potential 46, and recognize the userinput 54 based on determining that the user is attending to the periodicmotion-based visual stimulus 42. FIG. 10 illustrates a graph of anexample EEG signal 24 including changes in electrical potential 46 forthe user 70 of FIG. 9 viewing the GUI 62. As the user sees all threeperiodic motion-based visual stimuli, the EEG signal 24 may includethree peaks 84, 86, and 88 at frequencies that correspond to the targetfrequencies 44 of the three periodic motion-based visual stimuli,specifically at 12 Hz, 15 Hz, and 20 Hz in the illustrated example.

However, in this specific example, the user is focusing their attentionon the third periodic motion-based visual stimulus 82, which has atarget frequency of 15 Hz. Thus, as the user is attending to the thirdperiodic motion-based visual stimulus 82, the electrical activityreflected in the user's visual cortex will have a higher magnitude inthe frequency domain at the frequency that corresponds to the thirdperiodic motion-based visual stimulus 82 compared to the other twocorresponding frequencies. As shown in FIG. 10 , the peak 86 for thefrequency 15 Hz that corresponds to the target frequency of the thirdperiodic motion-based visual stimulus 82 has a larger magnitude than thepeaks 84 and 88 corresponding to the other periodic motion-based visualstimuli. The EEG signal processing module 52 may be configured todetermine that the user is attending to the third periodic motion-basedvisual stimulus 82.

At step 806, the method 800 may include determining a user attendedperiodic motion-based visual stimulus from among the plurality ofperiodic motion-based visual stimuli. The computer device 10implementing method 800 may determine the user attended periodicmotion-based visual stimulus at step 804 based on the magnitudes of theidentified peaks the frequency domain of the detected changes inelectrical potential 46. In the example illustrated in FIGS. 9 and 10 ,the HMD device 26 may determine that the third periodic motion-basedvisual stimulus 82 is the user attended periodic motion-based visualstimulus.

At step 808, the method 800 may include recognizing the user input 54 tobe directed to an interface element 66 associated with the user attendedperiodic motion-based visual stimulus. In the example illustrated inFIG. 9 , the HMD device 26 may determine that the start game GUI element76 is associated with the third periodic motion-based visual stimulus82, which is the user attended stimulus in this example. The HMD device26 may then recognize the user input 54 to be directed to the start gameGUI element 76. In the illustrated example, the user input 54 may beselection of the start game GUI element 76. Accordingly, the HMD device26 may then start the game “WIZARD DUEL” in response to the userattending to the third periodic motion-based visual stimulus 82. Asdiscussed above, recognition of the user input 54 may be further basedon other sensor data. For example, in addition to determining that theuser is attending to the third periodic motion-based visual stimulus 82,the HMD device 26 may be further configured to determine that the user'sgaze direction as estimated by inward facing cameras is also directedtoward the start game GUI element 76 before recognizing the user input54.

For developers unfamiliar with SSVEP, choosing a suitable set ofperiodic motion-based visual stimuli for their applications may bedifficult. Thus, as illustrated in FIG. 11 , the computer device 10 maybe further configured to provide an application development program 90to facilitate development of GUIs that use the periodic motion-basedvisual stimuli described above. The computer device 10 may store alibrary 92 of different types 94 of periodic motion-based visual stimuli42. The library 92 may include templates 96 for the different types 94of periodic motion-based visual stimuli 42. The different types 94 may,for example, include the hummingbird stimulus of FIG. 5 , the windmillstimulus of FIG. 6 , the changing grating pattern of FIG. 7 , or anyother suitable type of periodic motion-based visual stimuli 42.

The templates 96 may also include other characteristics 98 of theperiodic motion-based visual stimuli 42, such as, for example, adifferentiated frequency characteristic, a size characteristic, a visualcontrast characteristic, and a positional separation characteristic. Thedifferentiated frequency characteristic may include rules for howdifferent the target frequencies 44 for a set of periodic motion-basedvisual stimuli of that type should be to achieve a suitableclassification accuracy. For example, one particular type of periodicmotion-based visual stimulus may require at least a 2 Hz difference intarget frequencies to achieve a suitable classification accuracy.

The size characteristic may include rules for how small or large theperiodic motion-based visual stimuli of a particular type 94 of stimulishould be to achieve a suitable classification accuracy. The positionalseparation characteristics may include rules for how close or far theperiodic motion-based visual stimuli for a particular type 94 of stimulishould be to achieve a suitable classification accuracy. It should beappreciated that the defined characteristics 98 of the periodicmotion-based visual stimuli are not limited to the examples describedherein, but may include other example characteristics 98 such as, forexample, color, contrast from background, etc.

The computer device 10 may be further configured to receive an input ofone or more parameters 100 for a user interface via an input device 16of the computer device 10. The parameters 100 may be sent to theapplication development program 90 that the user is currently developingtheir GUI 102. These parameters 100 may include a number of GUIelements, a position of those elements in the GUI, colors of elements,other elements included in the GUI, a size of each element, etc.

The computer device 10 may then programmatically determine a type 94 ofperiodic motion-based visual stimulus 42 and one or more characteristics98 based on the received one or more parameters 100 for the userinterface. The computer device 10 may determine the type 94 and thecharacteristics 98 based on the rules defined in the templates 96 storedin the library 92. As a specific example, a GUI that includes a largenumber of GUI elements may require a type 94 of periodic motion-basedvisual stimulus 42 that provides high classification accuracy at smallersizes, or when placed close together. In this manner, the computerdevice 10 may choose types 94 and characteristics 98 for the periodicmotion-based visual stimuli 42 that are suitable for the parameters 100entered by the user. The computer device 10 may then generate a set ofperiodic motion-based visual stimuli 42 based on the determined type 94and one or more characteristics 98, and provide the set to theapplication development program 90 for inclusion in the developer's GUI102.

Using the techniques and processes described herein, the computer device10 may implement periodic motion-based visual stimuli for SSVEPinterfaces that reduces visual fatigue and increases theuser-friendliness of SSVEP interfaces while preserving classificationaccuracy. The periodic motion-based visual stimuli described hereinprovides an improved user experienced compared to typical SSVEPinterfaces that use high contrast blinking stimuli.

In some embodiments, the methods and processes described herein may betied to a computing system of one or more computing devices. Inparticular, such methods and processes may be implemented as acomputer-application program or service, an application-programminginterface (API), a library, and/or other computer-program product.

FIG. 12 schematically shows a non-limiting embodiment of a computingsystem 1200 that can enact one or more of the methods and processesdescribed above. Computing system 1200 is shown in simplified form.Computing system 1200 may embody the computer device 10 described aboveand illustrated in FIG. 1 . Computing system 1200 may take the form ofone or more personal computers, server computers, tablet computers,home-entertainment computers, network computing devices, gaming devices,mobile computing devices, mobile communication devices (e.g.,smartphone), and/or other computing devices, and wearable computingdevices such as smart wristwatches and head mounted augmented realitydevices.

Computing system 1200 includes a logic processor 1202 volatile memory1204, and a non-volatile storage device 1206. Computing system 1200 mayoptionally include a display subsystem 1208, input subsystem 1210,communication subsystem 1212, and/or other components not shown in FIG.12 .

Logic processor 1202 includes one or more physical devices configured toexecute instructions. For example, the logic processor may be configuredto execute instructions that are part of one or more applications,programs, routines, libraries, objects, components, data structures, orother logical constructs. Such instructions may be implemented toperform a task, implement a data type, transform the state of one ormore components, achieve a technical effect, or otherwise arrive at adesired result.

The logic processor may include one or more physical processors(hardware) configured to execute software instructions. Additionally oralternatively, the logic processor may include one or more hardwarelogic circuits or firmware devices configured to executehardware-implemented logic or firmware instructions. Processors of thelogic processor 1202 may be single-core or multi-core, and theinstructions executed thereon may be configured for sequential,parallel, and/or distributed processing. Individual components of thelogic processor optionally may be distributed among two or more separatedevices, which may be remotely located and/or configured for coordinatedprocessing. Aspects of the logic processor may be virtualized andexecuted by remotely accessible, networked computing devices configuredin a cloud-computing configuration. In such a case, these virtualizedaspects are run on different physical logic processors of variousdifferent machines, it will be understood.

Non-volatile storage device 1206 includes one or more physical devicesconfigured to hold instructions executable by the logic processors toimplement the methods and processes described herein. When such methodsand processes are implemented, the state of non-volatile storage device1206 may be transformed—e.g., to hold different data.

Non-volatile storage device 1206 may include physical devices that areremovable and/or built-in. Non-volatile storage device 1206 may includeoptical memory (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.),semiconductor memory (e.g., ROM, EPROM, EEPROM, FLASH memory, etc.),and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive, tapedrive, MRAM, etc.), or other mass storage device technology.Non-volatile storage device 1206 may include nonvolatile, dynamic,static, read/write, read-only, sequential-access, location-addressable,file-addressable, and/or content-addressable devices. It will beappreciated that non-volatile storage device 1206 is configured to holdinstructions even when power is cut to the non-volatile storage device1206.

Volatile memory 1204 may include physical devices that include randomaccess memory. Volatile memory 1204 is typically utilized by logicprocessor 1202 to temporarily store information during processing ofsoftware instructions. It will be appreciated that volatile memory 1204typically does not continue to store instructions when power is cut tothe volatile memory 1204.

Aspects of logic processor 1202, volatile memory 1204, and non-volatilestorage device 1206 may be integrated together into one or morehardware-logic components. Such hardware-logic components may includefield-programmable gate arrays (FPGAs), program- andapplication-specific integrated circuits (PASIC/ASICs), program- andapplication-specific standard products (PSSP/ASSPs), system-on-a-chip(SOC), and complex programmable logic devices (CPLDs), for example.

The terms “module,” “program,” and “engine” may be used to describe anaspect of computing system 1200 typically implemented in software by aprocessor to perform a particular function using portions of volatilememory, which function involves transformative processing that speciallyconfigures the processor to perform the function. Thus, a module,program, or engine may be instantiated via logic processor 1202executing instructions held by non-volatile storage device 1206, usingportions of volatile memory 1204. It will be understood that differentmodules, programs, and/or engines may be instantiated from the sameapplication, service, code block, object, library, routine, API,function, etc. Likewise, the same module, program, and/or engine may beinstantiated by different applications, services, code blocks, objects,routines, APIs, functions, etc. The terms “module,” “program,” and“engine” may encompass individual or groups of executable files, datafiles, libraries, drivers, scripts, database records, etc.

When included, display subsystem 1208 may be used to present a visualrepresentation of data held by non-volatile storage device 1206. Thevisual representation may take the form of a graphical user interface(GUI). As the herein described methods and processes change the dataheld by the non-volatile storage device, and thus transform the state ofthe non-volatile storage device, the state of display subsystem 1208 maylikewise be transformed to visually represent changes in the underlyingdata. Display subsystem 1208 may include one or more display devicesutilizing virtually any type of technology. Such display devices may becombined with logic processor 1202, volatile memory 1204, and/ornon-volatile storage device 1206 in a shared enclosure, or such displaydevices may be peripheral display devices.

When included, input subsystem 1210 may comprise or interface with oneor more user-input devices such as a keyboard, mouse, touch screen, orgame controller. In some embodiments, the input subsystem may compriseor interface with selected natural user input (NUI) componentry. Suchcomponentry may be integrated or peripheral, and the transduction and/orprocessing of input actions may be handled on- or off-board. Example NUIcomponentry may include a microphone for speech and/or voicerecognition; an infrared, color, stereoscopic, and/or depth camera formachine vision and/or gesture recognition; a head tracker, eye tracker,accelerometer, and/or gyroscope for motion detection and/or intentrecognition; as well as electric-field sensing componentry for assessingbrain activity; and/or any other suitable sensor.

When included, communication subsystem 1212 may be configured tocommunicatively couple various computing devices described herein witheach other, and with other devices. Communication subsystem 1212 mayinclude wired and/or wireless communication devices compatible with oneor more different communication protocols. As non-limiting examples, thecommunication subsystem may be configured for communication via awireless telephone network, or a wired or wireless local- or wide-areanetwork, such as a HDMI over Wi-Fi connection. In some embodiments, thecommunication subsystem may allow computing system 1200 to send and/orreceive messages to and/or from other devices via a network such as theInternet.

The following paragraphs provide additional support for the claims ofthe subject application. One aspect provides a computer devicecomprising a display device and a sensor system configured to be mountedadjacent to a user's head and to measure an electrical potential nearone or more electrodes of the sensor system. The computer device furthercomprises a processor configured to present a periodic motion-basedvisual stimulus having a changing motion that is frequency-modulated fora target frequency or code-modulated for a target code, detect changesin the electrical potential via the one or more electrodes, identify acorresponding visual evoked potential feature in the detected changes inthe electrical potential that corresponds to the periodic motion-basedvisual stimulus, and recognize a user input to the computing devicebased on identifying the corresponding visual evoked potential feature.In this aspect, additionally or alternatively, the periodic motion-basedvisual stimulus may be code-modulated for a target code. To identify thecorresponding visual evoked potential feature, the processor may beconfigured to identify a corresponding code in the detected changes inelectrical potential that corresponds to the target code of the periodicmotion-based visual stimulus. In this aspect, additionally oralternatively, the periodic motion-based visual stimulus may befrequency-modulated to change at the target frequency. To identify thecorresponding visual evoked potential feature, the processor may beconfigured to identify a peak in a frequency domain of the detectedchanges in electrical potential at a corresponding frequency thatcorresponds to the target frequency of the periodic motion-based visualstimulus. In this aspect, additionally or alternatively, the targetfrequency of the periodic motion-based visual stimulus may include afundamental frequency and one or more upper harmonic frequencies. Inthis aspect, additionally or alternatively, the processor may beconfigured to recognize the user input based on identifying peaks atcorresponding frequencies that correspond to the fundamental frequencyand the one or more upper harmonic frequencies of the periodicmotion-based visual stimulus. In this aspect, additionally oralternatively, the periodic motion-based visual stimulus may include aperiodic motion selected from the group consisting of a rotationalmotion, an oscillating motion, and a changing grating pattern. In thisaspect, additionally or alternatively, the periodic motion-based visualstimulus may be a rapid serial visual presentation of images. In thisaspect, additionally or alternatively, the display device may be anear-eye display device, and the periodic motion-based visual stimulusmay be an animated three-dimensional virtual object presented by thenear-eye display device. In this aspect, additionally or alternatively,to recognize the user input, the processor may be further configured todetermine that the user is attending to the periodic motion-based visualstimulus based on a magnitude of the corresponding visual evokedpotential feature, and recognize the user input based on determiningthat the user is attending to the periodic motion-based visual stimulus.In this aspect, additionally or alternatively, the processor may befurther configured to present a plurality of periodic motion-basedvisual stimuli having different target frequencies or target codes, eachperiodic motion-based visual stimulus being associated with respectiveinterface elements of a plurality of interface elements. In this aspect,additionally or alternatively, the processor may be further configuredto determine a user attended periodic motion-based visual stimulus fromamong the plurality of periodic motion-based visual stimuli, andrecognize the user input to be directed to an interface elementassociated with the user attended periodic motion-based visual stimulus.In this aspect, additionally or alternatively, the processor may befurther configured to store a library of different types of periodicmotion-based visual stimuli, receive an input of one or more parametersfor a user interface, determine a type of periodic motion-based visualstimulus and one or more characteristics based on the received one ormore parameters for the user interface, and generate a set of periodicmotion-based visual stimuli based on the determined type and one or morecharacteristics. In this aspect, additionally or alternatively, the oneor more characteristics may be selected from the group consisting of adifferentiated frequency characteristic, a size characteristic, a visualcontrast characteristic, and a positional separation characteristic.

Another aspect provides a method comprising, at a computer device havinga processor and a sensor system configured to be mounted adjacent to auser's head and to measure an electrical potential near one or moreelectrodes of the sensor system, presenting a periodic motion-basedvisual stimulus having a changing motion that is frequency-modulated fora target frequency or code-modulated for a target code via a displaydevice of the computer device. The method further comprises detectingchanges in the electrical potential via the one or more electrodes,identifying a corresponding visual evoked potential feature in thedetected changes in the electrical potential that corresponds to theperiodic motion-based visual stimulus, and recognizing a user input tothe computing device based on identifying the corresponding visualevoked potential feature. In this aspect, additionally or alternatively,the periodic motion-based visual stimulus may be code-modulated for atarget code. Identifying the corresponding visual evoked potentialfeature may further comprise identifying a corresponding code in thedetected changes in electrical potential that corresponds to the targetcode of the periodic motion-based visual stimulus. In this aspect,additionally or alternatively, the periodic motion-based visual stimulusmay be frequency-modulated to change at the target frequency.Identifying the corresponding visual evoked potential feature mayfurther comprise identifying a peak in a frequency domain of thedetected changes in electrical potential at a corresponding frequencythat corresponds to the target frequency of the periodic motion-basedvisual stimulus. In this aspect, additionally or alternatively,recognizing the user input may further comprise determining that theuser is attending to the periodic motion-based visual stimulus based ona magnitude of the corresponding visual evoked potential feature, andrecognizing the user input based on determining that the user isattending to the periodic motion-based visual stimulus. In this aspect,additionally or alternatively, the method may further comprisepresenting a plurality of periodic motion-based visual stimuli havingdifferent target frequencies or target codes, each periodic motion-basedvisual stimulus being associated with respective interface elements of aplurality of interface elements. In this aspect, additionally oralternatively, the method may further comprise determining a userattended periodic motion-based visual stimulus from among the pluralityof periodic motion-based visual stimuli, and recognizing the user inputto be directed to an interface element associated with the user attendedperiodic motion-based visual stimulus.

Another aspect provides a computer device comprising a display device,and a sensor system configured to be mounted adjacent a user's head andto measure an electrical potential near one or more electrodes of thesensor system. The computer device further comprises a processorconfigured to present a plurality of interface elements via the displaydevice, and present a plurality of periodic motion-based visual stimuli.Each periodic motion-based visual stimulus is associated with respectiveinterface elements of the plurality of interface elements. The processoris further configured to detect changes in the electrical potential viathe one or more electrodes, and determine that the user is attending toa user attended periodic motion-based visual stimulus from among theplurality of periodic motion-based visual stimuli based on identifying acorresponding visual evoked potential feature in the detected changes inthe electrical potential that corresponds to the user attended periodicmotion-based visual stimulus. The processor is further configured torecognize a user input directed at an interface element that isassociated with the user attended periodic motion-based visual stimulus.

It will be understood that the configurations and/or approachesdescribed herein are exemplary in nature, and that these specificembodiments or examples are not to be considered in a limiting sense,because numerous variations are possible. The specific routines ormethods described herein may represent one or more of any number ofprocessing strategies. As such, various acts illustrated and/ordescribed may be performed in the sequence illustrated and/or described,in other sequences, in parallel, or omitted. Likewise, the order of theabove-described processes may be changed.

The subject matter of the present disclosure includes all novel andnon-obvious combinations and sub-combinations of the various processes,systems and configurations, and other features, functions, acts, and/orproperties disclosed herein, as well as any and all equivalents thereof.

The invention claimed is:
 1. A computer device comprising: a displaydevice; a sensor system configured to be mounted adjacent to a user'shead and to measure an electrical potential near one or more electrodesof the sensor system; and a processor configured to: present a periodicmotion-based visual stimulus having a changing motion that isfrequency-modulated for a target frequency, wherein: the periodicmotion-based visual stimulus is frequency-modulated to change at thetarget frequency; and the target frequency of the periodic motion-basedvisual stimulus includes a fundamental frequency and one or moreharmonic frequencies; detect changes in the electrical potential via theone or more electrodes; identify a corresponding visual evoked potentialfeature in the detected changes in the electrical potential thatcorresponds to the periodic motion-based visual stimulus, wherein toidentify the corresponding visual evoked potential feature, theprocessor is configured to identify a peak in a frequency domain of thedetected changes in electrical potential at a corresponding frequencythat corresponds to the target frequency of the periodic motion-basedvisual stimulus; determine that the user is attending to the periodicmotion-based visual stimulus based on a magnitude of the correspondingvisual evoked potential feature; and recognize a user input to thecomputer device based on determining that the user is attending to theperiodic motion-based visual stimulus.
 2. The computer device of claim1, wherein the processor is configured to recognize the user input basedon identifying peaks at corresponding frequencies that correspond to thefundamental frequency and the one or more upper harmonic frequencies ofthe periodic motion-based visual stimulus.
 3. The computer device ofclaim 1, wherein the periodic motion-based visual stimulus includes aperiodic motion selected from the group consisting of a rotationalmotion, an oscillating motion, and a changing grating pattern.
 4. Thecomputer device of claim 1, wherein the periodic motion-based visualstimulus is a rapid serial visual presentation of images.
 5. Thecomputer device of claim 1, wherein the display device is a near-eyedisplay device, and wherein the periodic motion-based visual stimulus isan animated three-dimensional virtual object presented by the near-eyedisplay device.
 6. The computer device of claim 1, wherein the magnitudeis a magnitude in the frequency domain of the electrical potential. 7.The computer device of claim 1, wherein the processor is furtherconfigured to present a plurality of periodic motion-based visualstimuli having different target frequencies, each periodic motion-basedvisual stimulus being associated with respective interface elements of aplurality of interface elements.
 8. The computer device of claim 7,wherein the processor is further configured to: determine a userattended periodic motion-based visual stimulus from among the pluralityof periodic motion-based visual stimuli; and recognize the user input tobe directed to an interface element associated with the user attendedperiodic motion-based visual stimulus.
 9. The computer device of claim8, wherein the processor is further configured to select, as the userattended periodic motion-based visual stimulus, a periodic motion-basedvisual stimulus of the plurality of periodic motion-based visual stimulithat has a highest-magnitude visual evoked potential feature among therespective visual evoked potential features of the periodic motion-basedvisual stimuli.
 10. The computer device of claim 1, wherein the computerdevice is a head-mounted display device.
 11. A method comprising: at acomputer device having a processor and a sensor system configured to bemounted adjacent to a user's head and to measure an electrical potentialnear one or more electrodes of the sensor system: presenting a periodicmotion-based visual stimulus having a changing motion that isfrequency-modulated for a target frequency, wherein: the periodicmotion-based visual stimulus is frequency-modulated to change at thetarget frequency; and the target frequency of the periodic motion-basedvisual stimulus includes a fundamental frequency and one or moreharmonic frequencies; detecting changes in the electrical potential viathe one or more electrodes; identifying a corresponding visual evokedpotential feature in the detected changes in the electrical potentialthat corresponds to the periodic motion-based visual stimulus, whereinidentifying the corresponding visual evoked potential feature includesidentifying a peak in a frequency domain of the detected changes inelectrical potential at a corresponding frequency that corresponds tothe target frequency of the periodic motion-based visual stimulus;determining that the user is attending to the periodic motion-basedvisual stimulus based on a magnitude of the corresponding visual evokedpotential feature; and recognizing a user input to the computer devicebased on determining that the user is attending to the periodicmotion-based visual stimulus.
 12. The method of claim 11, furthercomprising presenting a plurality of periodic motion-based visualstimuli having different target frequencies, each periodic motion-basedvisual stimulus being associated with respective interface elements of aplurality of interface elements.
 13. The method of claim 12, furthercomprising: determining a user attended periodic motion-based visualstimulus from among the plurality of periodic motion-based visualstimuli; and recognizing the user input to be directed to an interfaceelement associated with the user attended periodic motion-based visualstimulus.
 14. The method of claim 12, wherein determining the userattended periodic motion-based visual stimulus includes selecting, asthe user attended periodic motion-based visual stimulus, a periodicmotion-based visual stimulus of the plurality of periodic motion-basedvisual stimuli that has a highest-magnitude visual evoked potentialfeature among the respective visual evoked potential features of theperiodic motion-based visual stimuli.
 15. A computer device comprising:a display device; a sensor system configured to be mounted adjacent auser's head and to measure an electrical potential near one or moreelectrodes of the sensor system; and a processor configured to: presenta plurality of interface elements via the display device; present aplurality of periodic motion-based visual stimuli, each periodicmotion-based visual stimulus being associated with respective interfaceelements of the plurality of interface elements, wherein: the periodicmotion-based visual stimuli are frequency-modulated to change atrespective target frequencies; and the target frequency of each of theperiodic motion-based visual stimuli includes a fundamental frequencyand one or more harmonic frequencies; detect changes in the electricalpotential via the one or more electrodes; determine that the user isattending to a user attended periodic motion-based visual stimulus fromamong the plurality of periodic motion-based visual stimuli at least inpart by: identifying a plurality of visual evoked potential featuresthat correspond to the plurality of periodic motion-based visual stimuliin the detected changes in the electrical potential, wherein to identifyeach of the visual evoked potential features, the processor isconfigured to identify a respective peak in a frequency domain of thedetected changes in electrical potential at a corresponding frequencythat corresponds to the target frequency of the periodic motion-basedvisual stimulus; determining respective magnitudes of the plurality ofvisual evoked potential features; and selecting, as the user attendedperiodic motion-based visual stimulus, a periodic motion-based visualstimulus of the plurality of periodic motion-based visual stimuli thathas a highest-magnitude visual evoked potential feature among therespective visual evoked potential features of the periodic motion-basedvisual stimuli; and recognize a user input directed at an interfaceelement that is associated with the user attended periodic motion-basedvisual stimulus.